package com.bigkoo.pickerview.adapter;


/**
 * Numeric Wheel adapter.
 */
public class NumericWheelAdapter implements WheelAdapter
{
	
	/**
	 * The default min value
	 */
	public static final int DEFAULT_MAX_VALUE = 9;

	/**
	 * The default max value
	 */
	private static final int DEFAULT_MIN_VALUE = 0;
	
	// Values
	private int minValue;

	private int maxValue;

	/**
	 * Default constructor
	 */
	public NumericWheelAdapter()
	{
		this(DEFAULT_MIN_VALUE, DEFAULT_MAX_VALUE);
	}

	/**
	 * Constructor
	 *
	 * @param minValue the wheel min value
	 * @param maxValue the wheel max value
	 */
	public NumericWheelAdapter(int minValue, int maxValue)
	{
		this.minValue = minValue;
		this.maxValue = maxValue;
	}

	@Override
	public Object getItem(int index)
	{
		if (index >= 0 && index < getItemsCount())
		{
			int value = minValue + index;
			return value;
		}
		return 0;
	}

	@Override
	public int getItemsCount()
	{
		return maxValue - minValue + 1;
	}
	
	@Override
	public int indexOf(Object o)
	{
		try
		{
			return (int) o - minValue;
		} catch (Exception e)
		{
			return -1;
		}

	}
}
